//C13:13.3:addaword.c -- fprintf(), fscanf(), rewind().
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>

#define MAX  40

int main(void)
{
	FILE *fp;

	char words[MAX];
	if((fp = fopen("words", "a+")) == NULL)
	{
		fprintf(stdout, "Can't open\"words\" file.\n");
		exit(1);
	}

	puts("Enter words to add to the file: press the Enter");

	puts("key at the beginning of a line to terminate.");
	while (gets(words) != NULL && words[0] != '\0')
	{
		fprintf(fp, "%s ", words);
	}

	puts("File contents: ");
	rewind(fp);  // return to begin of file.
	while (fscanf(fp, "%s", words) == 1)
	{
		puts(words);
	}

	if(fclose(fp) != 0)
	{
		fprintf(stderr, "Error closing file. %s\n", strerror(errno));
		exit(1);
	}
}
